/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.business.customer.facade.info;

import info.peigen.hotpot.business.customer.facade.enums.EnterpriseType;
import info.peigen.hotpot.common.core.enums.YesOrNo;
import lombok.*;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

import java.util.Date;

import static info.peigen.hotpot.common.core.enums.YesOrNo.N;

/**
 * <b>(CustomerAuthenticationBaseInfo)</b>
 * 企业认证资料
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2021/7/27
 */
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class CustomerAuthenticationBaseInfo {
    /** 企业营业执照 */
    String         enterpriseBusinessLicense;
    /** 企业名称 */
    String         enterpriseName;
    /** 企业英文名称 */
    String         enterpriseEnglishName;
    /** 统一社会信用代码 */
    String         uniformSocialCreditCode;
    /** 省/州 */
    String         province;
    /** 城市 */
    String         city;
    /** 街道 */
    String         street;
    /** 企业类型 */
    EnterpriseType enterpriseType;
    /** 经营范围 */
    String         businessScope;
    /** 业务经营国家/地区 */
    String         businessArea;
    /** 业务规模、人数 */
    String         businessScale;
    /** 注册资本金 */
    String         registeredCapital;
    /** 成立日期 */
    Date           establishmentDate;
    /** 营业期限 */
    Date           operatingPeriod;
    /** 注册地 */
    String         registerPlace;
    /** 历史出口额 */
    String         historyExportAmount;
    /** 预估年出口额 */
    String         estimateYearExportAmount;
    /** 营业期限是否长期有效 */
    YesOrNo        operatingPeriodOfValidityLongTerm;
    /** 手持开户申请表 */
    String         holdingAccountApplyingImage;
    /** 手持开户申请表（原件） */
    String         holdingAccountApplyingOriginImage;

    /** 实际经营地址-是否与注册地相同 */
    @Builder.Default
    YesOrNo isBusinessRegister = N;
    /** 实际经营地址-省/州 */
    String businessProvince;
    /** 实际经营地址-省/州code */
    String businessProvinceCode;
    /** 实际经营地址-城市 */
    String businessCity;
    /** 实际经营地址-城市Code */
    String businessCityCode;
    /** 实际经营地址-区县 */
    String businessDistrict;
    /** 实际经营地址-区县Code */
    String businessDistrictCode;
    /** 实际经营地址-街道 */
    String businessStreet;
}
